
"""
    Python的标准库提供了两个模块：
        _thread，thread 模块已被废弃，在 Python3 中不能再使用"thread" 模块。为了兼容性，Python3 将 thread 重命名为 "_thread"。
        threading是高级模块，对thread进行了封装。绝大多数情况下，我们只需要使用threading这个高级模块

    Python中使用线程有两种方式：函数或者用类来包装线程对象。
        函数式：调用thread模块中的start_new_thread()函数来产生新线程

"""
import _thread
import threading
import time



# 为线程定义一个函数
def print_time(threadName, delay):
    count = 0
    while count < 5:
        time.sleep(delay)
        count += 1
        print("%s: %s" % (threadName, time.ctime(time.time())))

def startThread():
    # 创建两个线程
    try:
        _thread.start_new_thread(print_time, ("Thread-1", 2,))
        _thread.start_new_thread(print_time, ("Thread-2", 4,))
    except:
        print("Error: unable to start thread")

    while 1:
        pass

startThread()


def print_numbers():
    for i in range(5):
        time.sleep(1)
        print(i)

def startThreading():
    # 创建线程
    thread = threading.Thread(target=print_numbers)

    # 启动线程
    thread.start()

startThreading()